国产数据库

您所在的位置:网站首页 gbase 8s官网 国产数据库

国产数据库

2024-07-11 08:50| 来源: 网络整理| 查看: 265

作者 | JiekeXu

大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看国产数据库|GBase 8s 安装卸载与简单使用,欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达!

GBase 8s 是天津南大通用数据技术股份有限公司自主研发的、成熟稳定的基于共享存储的数据库集群,拥有自主知识产权,支持集中式部署、共享存储高可用部署、两地三中心高可用部署,具备高容量、高并发、高性能等特性,本次学习打算部署单机模式。

GBase 8s 安装起来比较简单,玩过 Oracle、MySQL 的同学几乎不会有什么问题,尤其是单机环境。GBase 8s 支持多种处理器平台,除国际主流的 x86_64 处理器(包括 Intel 和 AMD)外,全面支持飞腾、鲲鹏、龙芯、兆芯、海光、申威等国产处理器。GBase 8s 也可以运行于多款操作系统,包括:RHEL 和 CentOS 等 Linux 操作系统、统信 UOS、麒麟、欧拉等国产操作系统。生产环境建议 16c/64G、1T 磁盘及以上的配置,个人学习测试环境 2c/2G、10G 磁盘就足以玩转了。

一、安装包下载

安装包官网下载链接如下:

代码语言:javascript复制https://www.gbase.cn/download/gbase-8s-1?category=INSTALL_PACKAGE代码语言:javascript复制

打开链接之后,需要先在 GBase 官网注册账号,才能下载安装包。 操作步骤如下: 第一步 点击 GBase 8s V8.8(兼容Oracle) 第二步 点击 安装包 第三步 选择适合操作系统及CPU的安装包进行下载,本次使用培训版本 GBase 8s GDCA培训安装包 进行下载即可。 第四步 使用 xshell 等 sftp 工具将安装包上传至安装好的 Linux 服务器。 第五步 解压安装包。

二、安装准备

1、环境要求

操作系统和版本:RedHat7 或 CentOS7 建议:个人练习使用,可以在电脑上安装虚拟机 VMware、Virtualbox 等虚拟机软件,然后安装 1 个centos7 或者 redhat7 的虚拟机环境,用来安装 GBase 8s 数据库。 配置:内存2G或2G以上,硬盘 10G以上,固定IP地址 安装组件:建议在“软件选择”中选择“带 GUI 的服务器”中的“开发工具”选项安装;如系统最小化安装,还需要安装 unzip、java、tar 包,否则会导致 8s 安装失败。

检查环境,我这里复用了之前安装 openGauss 的服务器,像防火墙、selinux 等均已关闭。

代码语言:javascript复制df -h free -h cat /etc/redhat-release ip a代码语言:javascript复制

2、创建 gbasedbt 组和用户

在启动安装过程之前,必须准备系统以确保您有足够权限来执行安装。您必须以 root 用户身份登录才能执行许多与安装有关的任务。同时要求服务器操作系统上具有 gbasedbt 组和 gbasedbt 用户。

登录系统后可以执行以下命令创建 gbasedbt 组和 gbasedbt 用户:

代码语言:javascript复制groupadd gbasedbt useradd -g gbasedbt gbasedbt --检查用户和组 cat /etc/passwd |grep gbasedbt gbasedbt:x:1002:1002::/home/gbasedbt:/bin/bash cat /etc/group | grep gbasedbt gbasedbt:x:1002: --为 gbasedbt 用户设置密码,密码为 gbasedbt passwd gbasedbt代码语言:javascript复制

3、创建 GBase 8s 数据库安装目录

GBase 8s 数据库默认缺省的安装目录为 /opt/GBASE/gbase,并且此文件夹必须为空。本次打算将其安装到 /app/GBASE/gbase8s 目录。

代码语言:javascript复制mkdir -p /app/GBASE/gbase8s chown gbasedbt:gbasedbt /app/GBASE/gbase8s代码语言:javascript复制

4、解压上传的安装包

代码语言:javascript复制tar -xvf GBase\ 8s\ GDCA培训安装包.tar mv GBase8s学习版安装包 GBase8s_v8.8 tar -xvf GBase8s_ExpressEdition.tar代码语言:javascript复制三、安装软件

以 root 身份登录, 进入解压目录, 执行要安装的产品的安装脚本 ids_install, 即可进行安装,如果需要图形化界面安装需要配置好图形化并加参数“-i swing”运行,具体命令如下:

./ids_install -i swing ###图形界面安装

./ids_install ###命令行界面安装

接下来的四次都是回车,然后输入 Y 接受 LICENSE 回车。GDCA学习软件包已经授权了 LICENSE,有效期是一年,不然还需要单独输入 LICENSE 才能继续安装。

接下来的三步:输入我们之前创建好的 /app/GBASE/gbase8s 空目录,继续输入 Y 确认目录即可。下一步我们默认回车选择典型安装即可。

这一步我们建议一般选择 “2” 不创建数据库实例,这样安装时间较短。

接下来这里显示 /app 磁盘要求和可用磁盘大小,实际要求 496M 左右,目前剩余 36G 左右。我们直接回车,再一次回车确认安装目录就会显示安装进度了。一两分钟后安装成功,回车退出即可。

代码语言:javascript复制[root@JiekeXu GBase8s_v8.8]# ./ids_install Preparing to install... Extracting the JRE from the installer archive... Unpacking the JRE... Extracting the installation resources from the installer archive... Configuring the installer for this system's environment... Launching installer... =============================================================================== GBase Software Bundle (created with InstallAnywhere) ------------------------------------------------------------------------------- Preparing CONSOLE Mode Installation... =============================================================================== Getting Started --------------- This application will guide you through the installation of GBase Software Bundle. Copyright General Data Corporation 2014, 2023. All rights reserved. 1. Release Notes The Release Notes can be found in /opt/GBase8s_v8.8/doc/ids_unix_relnotes_12.10.html. 2. Launch Information Center Access the GBase Information Center at http://www.gbase.cn. To Begin Installation, respond to each prompt to proceed to the next step in the installation. If you want to change something on a previous step, type 'back'. You may cancel this installation at any time by typing 'quit'. PRESS TO CONTINUE: ######################## ####由于篇幅省略中间过程## ######################## =============================================================================== Installation Summary -------------------- Please review the following before continuing: Product Name: GBase Software Bundle Install Folder: /app/GBASE/gbase8s Product Features: GBase database server, Base Server, Extensions and tools, J/Foundation, Database extensions, Conversion and reversion support, XML publishing, Demonstration database scripts, Enterprise Replication, Data loading utilities, onunload and onload utilities, dbload utility, Backup and Restore, archecker utility, ON-Bar utility, Interface to Tivoli Storage Manager, Administrative utilities, Performance monitoring utilities, Miscellaneous monitoring utilities, Auditing utilities, Database import and export utilities, JSON Client Support, Global Language Support (GLS), Chinese Disk Space Information (for Installation Target): Required: 496,188,997 Bytes Available: 37,502,992,384 Bytes PRESS TO CONTINUE: =============================================================================== Ready To Install ---------------- InstallAnywhere is now ready to install GBase Software Bundle onto your system at the following location: /app/GBASE/gbase8s PRESS TO INSTALL: =============================================================================== Installing... ------------- [==================|==================|==================|==================] [------------------|------------------|------------------|------------------] =============================================================================== Installation Complete --------------------- Congratulations! GBase Software Bundle installation is complete. Product install status: GBase: Successful GBase Connect: Successful Main Version: GBase 8s Express Edition For more information about using GBase products, see the GBase Information Center at http://www.gbase.cn. PRESS TO EXIT THE INSTALLER: [root@openGauss GBase8s_v8.8]#代码语言:javascript复制四、创建实例

软件安装完后,我们还需要创建数据库实例,那么创建实例需要切换到数据库安装用户 gbasedbt 下进行操作,在安装目录下的 etc 目录有一个快速配置实例的脚本为 GBaseInit_gbasedbt.sh,我们可以使用此脚本交互式快速创建一个实例。

代码语言:javascript复制su - gbasedbt cd /app/GBASE/gbase8s/etc ll GBaseInit_gbasedbt.sh sh GBaseInit_gbasedbt.sh代码语言:javascript复制

主要有以下几项:

默认数据库实例名 gbaseserver 默认数据库安装目录 默认 IP 地址 默认端口号9088 输入 2 选择自定义安装 输入 3 选择 utf8 字符集,回车 默认数据空间路径 逻辑日志、物理日志、LOB 大对象空间默认比较大,这里为学习环境均为 120M,临时空间这里选择 60M 大小。然后输入 Y 查看高级配置。

模版安装的默认实例名为 gbaseserver,可以在冒号后面输入自定义名称,也可以直接回车,使用默认的实例名,但要注意名称不能使用减号,可以是字母,数字和下划线。

模版安装脚本询问我们创建几个保存数据的数据库空间,我这里输入6,创建 6 个数据库空间,回车继续。接下来询问创建几个保存临时数据的数据库空间,输入2,创建 2 个数据库临时空间,回车继续。接下来询问,是否启用 GL_USEGLU,默认不启用 N,直接回车继续。然后便可以看到安装信息,输入 Y 则创建实例,稍等片刻便可以安装成功。

看到 GBase Initializing Finished! 则表示初始化安装成功,回车退出即可。

查看环境变量,安装完成后会在家目录下生成一个配置环境变量的文件 profile.gbaseserver,并将其写入到了 .bash_profile 文件。另外,还有两个文件比较重要,在 $GBASEDBTDIR 的etc 目录下有个 sqlhosts.gbaseserver 文件,里面记录了实例名、网络访问协议及 IP 和端口号。还有一个文件名为 onconfig.gbaseserver,这个文件记录了数据库相关参数信息,这两个文件均以“.”+实例名结尾。

代码语言:javascript复制cat /app/GBASE/gbase8s/etc/sqlhosts.gbaseserver gbaseserver onsoctcp 192.168.75.32 9088 cat onconfig.gbaseserver | grep -v '^#' | grep -v '^$'代码语言:javascript复制

我们还可以使用 onstat – 查看数据库实例状态,也可以直接查看进程 ps -ef| grep oninit 可以看到有 15 个相关的进程。

代码语言:javascript复制代码语言:javascript复制[gbasedbt@JiekeXu ~]$ onstat - Your evaluation license will expire on 2024-05-17 00:00:00 On-Line -- Up 2 days 23:02:06 -- 2171620 Kbytes [gbasedbt@JiekeXu ~]$ ps -ef| grep oninit gbasedbt 59220 1 0 May18 ? 00:00:36 oninit -v root 59222 59220 0 May18 ? 00:00:21 oninit -v root 59223 59222 0 May18 ? 00:00:02 oninit -v root 59225 59222 0 May18 ? 00:00:02 oninit -v root 59227 59222 0 May18 ? 00:00:02 oninit -v root 59229 59222 0 May18 ? 00:00:00 oninit -v root 59231 59222 0 May18 ? 00:00:02 oninit -v gbasedbt 59232 59222 0 May18 ? 00:00:14 oninit -v gbasedbt 59234 59222 0 May18 ? 00:00:13 oninit -v gbasedbt 59235 59222 0 May18 ? 00:00:12 oninit -v root 59236 59222 0 May18 ? 00:00:02 oninit -v root 59237 59222 0 May18 ? 00:00:02 oninit -v root 59238 59222 0 May18 ? 00:00:02 oninit -v root 59239 59222 0 May18 ? 00:00:02 oninit -v root 59241 59222 0 May18 ? 00:00:02 oninit -v gbasedbt 105891 105630 0 23:48 pts/3 00:00:00 grep --color=auto oninit [gbasedbt@JiekeXu ~]$ ps -ef| grep oninit | grep -v grep |wc -l 15代码语言:javascript复制五、登录实例

在 GBase 8s 中命令行工具是 dbaccess,我们可以使用 dbaccess 空格加“-”加空格“-” 来登录到数据库实例,即 dbaccess - -,当然也有图形化客户端 GBase Data Studio。dbaccess 是 GBase 8s 数据库的一个命令行客户端工具,用来与 GBase 8s 数据库服务器进行交互。它是数据库自带的工具,只要安装了 GBase 8s 数据库,就可以在命令行启动该工具。能够识别用户输入,将用户输入的 SQL 语句打包发送给 GBase 8s 数据库服务器执行,并接收服务器的执行结果,并按用户的要求将执行结果展示给用户。

代码语言:javascript复制[gbasedbt@jiekexu ~]$ dbaccess - - Your evaluation license will expire on 2024-05-17 00:00:00 > create database jiekexu with log; Database created. > database jiekexu; Database selected. > create table t1(id int,name varchar(30)); Table created. > insert into t1 values(1,'jiekexu'); 1 row(s) inserted. > insert into t1 values(2,'gbasedbt'); 1 row(s) inserted. > select * from t1; id name 1 jiekexu 2 gbasedbt 2 row(s) retrieved.

database +数据库名,则选择数据库,ctrl + d 退出客户端。

在 GBase 8s 中,系统数据库 sysmaster 中的 sysdatabases 表存储了我们创建的所有数据库及系统数据库,我们可以使用 SQL 命令“select name from sysdatabases;” 查看实例中都有哪些数据库。

代码语言:javascript复制[gbasedbt@JiekeXu etc]$ dbaccess - - Your evaluation license will expire on 2024-05-17 00:00:00 > database sysmaster; Database selected. > select name from sysdatabases; name sysmaster name sysutils name sysuser name sysadmin name gbasedb name jiekexu name mydb 7 row(s) retrieved.代码语言:javascript复制安装 rlwrap 包实现方向键查看历史命令和左右移动问题代码语言:javascript复制rlwrap 包链接:https://pan.baidu.com/s/1NWU0gGPtRoqAfspKXeGm6w 提取码:rasm代码语言:javascript复制

将下载好的文件放到 GBase 8s 的 bin 目录下并给予可执行权限,然后配置环境变量,我的环境是 /app/GBASE/gbase8s/bin 目录。

代码语言:javascript复制$ chmod a+x rlwrap $ vi .bash_profile alias dbaccess='rlwrap dbaccess'

使其生效,登录数据库可以使用上下左右键查看 SQL。

代码语言:javascript复制. .bash_profile dbaccess - - Your evaluation license will expire on 2024-05-17 00:00:00 > database jiekexu; Database selected. > info tables; Table name t1 >

下表是一些国内外常见数据库命令行客户端工具

DB-engines流行的Top数据库

命令行客户端工具

Oracle

sqlplus

MySQL

mysql

SQLServer

sqlcmd/osql

PostgreSQL

psql

MongoDB

mongo

Redis

redis-cli

墨天轮流行的Top国产数据库

命令行客户端工具

OceanBase

odb

TiDB

mysql

openGauss

gsql

达梦DM

disql

Kingbase ES

ksql

GBase 8s

dbaccess

六、数据库启停

可以使用 oninit 命令启动数据库,使用 onmode 停止数据库,使用 onstat 命令查看数据库状态。

onmode -ky //停止数据库 -k Shutdown completely 完全关闭 -y Do not require confirmation 不需要确认onstat – 查看数据库状态属于关闭状态,显示共享内存没有初始化,数据库处于离线状态oninit -vy //启动数据库 -v Verbose mode: prints all initialization messages. 详细模式:打印所有初始化消息 -y Respond yes to all prompts 对所有提示回答“是”代码语言:javascript复制[gbasedbt@JiekeXu ~]$ onmode -k Your evaluation license will expire on 2024-05-17 00:00:00 This will take GBase Database Server OFF-LINE - Do you wish to continue (y/n)? y There are 0 user threads that will be killed. Do you wish to continue (y/n)? y [gbasedbt@JiekeXu ~]$ [gbasedbt@JiekeXu ~]$ onstat - Your evaluation license will expire on 2024-05-17 00:00:00 shared memory not initialized for GBASEDBTSERVER 'gbaseserver' [gbasedbt@openGauss ~]$ oninit -vy Your evaluation license will expire on 2024-05-17 00:00:00 Reading configuration file '/app/GBASE/gbase8s/etc/onconfig.gbaseserver'...succeeded Creating /GBASEDBTTMP/.infxdirs...succeeded Allocating and attaching to shared memory...succeeded Creating resident pool 76314 kbytes...succeeded Creating infos file "/app/GBASE/gbase8s/etc/.infos.gbaseserver"...succeeded Linking conf file "/app/GBASE/gbase8s/etc/.conf.gbaseserver"...succeeded Initializing rhead structure...rhlock_t 65536 (2048K)... rlock_t (66406K)... Writing to infos file...succeeded Initialization of Encryption...succeeded Initializing ASF...succeeded Initializing Dictionary Cache and SPL Routine Cache...succeeded Bringing up ADM VP...succeeded Creating VP classes...succeeded Forking main_loop thread...succeeded Initializing DR structures...succeeded Forking 1 'soctcp' listener threads...succeeded Starting tracing...succeeded Initializing 32 flushers...succeeded Initializing SDS Server network connections...succeeded Initializing log/checkpoint information...succeeded Initializing dbspaces...succeeded Opening primary chunks...succeeded Validating chunks...succeeded Initialize Async Log Flusher...succeeded Starting B-tree Scanner...succeeded Init ReadAhead Daemon...succeeded Init DB Util Daemon...succeeded Initializing DBSPACETEMP list...succeeded Init Auto Tuning Daemon...succeeded Checking database partition index...succeeded Initializing dataskip structure...succeeded Checking for temporary tables to drop...succeeded Updating Global Row Counter...succeeded Forking onmode_mon thread...succeeded Creating periodic thread...succeeded Creating periodic thread...succeeded Starting scheduling system...succeeded Verbose output complete: mode = 5 [gbasedbt@JiekeXu ~]$ onstat - Your evaluation license will expire on 2024-05-17 00:00:00 On-Line -- Up 00:00:22 -- 2171620 Kbytes代码语言:javascript复制七、卸载 GBase 8s卸载 GBase 8s 数据库组件与数据

GBase 8s 提供了一个卸载程序,如有需要可用于 GBase 8s 数据库的卸载。注意:一般情况下设备下线,重装才需要卸载数据库。

使用 root 用户进入卸载程序的目录

代码语言:javascript复制代码语言:javascript复制[root@JiekeXu gbase8s]# cd /app/GBASE/gbase8s/uninstall [root@JiekeXu uninstall]# ll total 0 drwxrwxrwx 2 root root 194 May 18 00:16 uninstall_ids drwxrwxr-x 2 root root 196 May 18 00:12 uninstall_server [root@JiekeXu uninstall]# cd uninstall_ids [root@JiekeXu uninstall_ids]# ll total 11668 -rw-rw-r-- 1 root root 5125901 May 18 00:12 InstallScript.iap_xml -rwxr-xr-x 1 root root 1040 May 18 00:16 installvariables.properties -rw-rw-r-- 1 root root 82 May 18 00:16 removablesList.txt -rw-rw-r-- 1 root root 6727024 May 18 00:12 uninstaller.jar -rwxr-xr-x 1 root root 74206 May 18 00:12 uninstallids -rwxr-xr-x 1 root root 3426 May 18 00:12 uninstallids.lax [root@JiekeXu uninstall_ids]# ./uninstallids 回车确认,输入 2

2- Removes server binaries and all databases associated with them

等待片刻,GBase 8s 数据库卸载成功。

清除残余的目录

由于卸载程序在 GBase 8s 的安装目录中,因此卸载程序并没有完成清空安装目录,需要我们手动清除残余目录。

代码语言:javascript复制rm -rf /app/GBASE/gbase8s代码语言:javascript复制删除 gbasedbt 用户

执行 userdel,删除用户,顺带也删除了组。

代码语言:javascript复制userdel -r gbasedbt代码语言:javascript复制

检查确认用户和组是否删除。

代码语言:javascript复制cat /etc/passwd | grep gbasedbt cat /etc/group | grep gbasedbt代码语言:javascript复制八、dbaccess 工具

dbaccess 是 GBase 8s 数据库的一个命令行客户端工具,用来与 GBase 8s 数据库服务器进行交互。

dbaccess 四种交互模式

使用菜单交互模式查看数据库

直接运行 dbaccess 命令,即可进入菜单交互模式,使用上下左右键可按照提示查看数据库信息。然后选择第三个 Database,进入下一级菜单,继续选择第三个 Info 查看数据库信息,然后选择 Databases 就如下图所示,sysmaster、sysutils、sysuser、sysadmin 四个数据库是系统数据库,其余三个是我们手动创建的数据库,CTRL+W 可查看相关帮助信息。

命令交互模式

可以通过为 dbaccess 提供两个参数,进入指令交互模式。

管道模式

dbaccess 可以接收 STDIN 中的内容,做为 dbaccess 需要执行的指令。

代码语言:javascript复制echo "sql_code" | dbaccess echo "select * from user" | dbaccess jiekexu代码语言:javascript复制脚本模式

可以将 SQL 代码保存到文件中,将文件做为 dbaccess 的第二个参数,来执行文件中的 SQL 代码。例如:

代码语言:javascript复制dbaccess vi select_user.sql select * from user; dbaccess jiekexu select_user.sql代码语言:javascript复制九、dbaccess 环境变量

默认情况下,dbaccess 会尽可能的显示浮点数的小数位数。通过设置该环境变量,控制 dbaccess 在输出小数信息时,尽量只显示指定位数的小数。那么我们就可以是 DBFLTMASK 来设置小数位数了。例如:

代码语言:javascript复制export DBFLTMASK=3代码语言:javascript复制

GBase 8s 中的 money 数据类型的显示,默认情况下,会根据操作系统的本地化设置,显示货币信息。可以通过该环境变量,设置需要显示的信息。

代码语言:javascript复制export DBMONEY="[front][.|,][back]" export DBMONEY="$" export DBMONEY=".$"代码语言:javascript复制

GBase 8s 中的 date 数据类型,默认格式为月/日/年(英文),可以设置 GL_DATE环境变量,改变 DATE 数据的显示格式。

代码语言:javascript复制export GL_DATE="%iY-%m-%d" export GL_DATE="%m/%d/%iY"代码语言:javascript复制

控制 dbaccess 在执行 SQL 时,DBACCESS_SHOW_TIME 环境变量可以显示 SQL 的执行时间。

代码语言:javascript复制unset DBACCESS_SHOW_TIME echo $DBACCESS_SHOW_TIME export DBACCESS_SHOW_TIME=1代码语言:javascript复制十、GBase 8s 运行模式

GBase 8s 有四种运行模式,离线模式、在线模式、单用户模式、静态模式。

离线模式:不能执行任何操作,数据库处于关闭状态。 在线模式:可以执行各种操作,On line 则是正常的数据库状态。 单用户模式:可以执行SQL操作和命令行维护操作,只能使用管理员用户(GBASEDBT / DBSA)连接,其它普通用户不能连接。 静态模式:只能执行命令行维护操作(如备份数据库),不能执行SQL命令。

GBase 8s 的 3 种过渡状态

• 初始化(Initialization) • 快速恢复(Fast Recovery) • 关闭(Shutting Down)

GBase 8s 的模式转换状态图

GBase 8s 可从一个运行模式,转换到另一个运行模式。

GBase 8s 的模式转换状态表GBase 8s 如何关闭数据库

等待当前用户未提交的事务提交后,再关闭数据库 onmode -s onmode -k

将当前用户未提交的事务回滚后,再关闭数据库 onmode -u onmode -lk

直接关闭数据库 onmode -k

参考资料代码语言:javascript复制代码语言:javascript复制【GBase 学堂】 https://blog.csdn.net/jihui8848/article/details/118887711 https://www.gbase.cn/download/gbase-8s-1?category=DOCUMENT


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3